«Кто испортил документ?» или версионирование в УТ 11

О чем эта статья

В статье рассмотрен механизм версионирования объектов, реализованный в прикладном решении «Управление торговлей, ред.11» для сохранения истории всех изменений документов и справочников. Данный механизм позволяет восстановить измененные данные в случае ошибочных действий пользователей.

Применимость

Статья написана для редакции УТ 11.1. Если вы используете эту редакцию, отлично — прочтите статью и внедряйте рассмотренный функционал.

Если Вы работаете со старшими версиями УТ 11, то данный функционал является актуальным. В актуальных версиях для доступа к рассмотренному функционалу используйте команду Настройки хранения в разделе Поддержка и обслуживание (история хранения) подсистемы Администрирование.

Наиболее заметным отличием УТ 11.3/11.4 от редакции 11.1 является интерфейс Такси. Поэтому, чтобы освоить материал статьи — воспроизведите представленный пример на своей базе УТ 11. Таким образом Вы закрепите материал практикой :)

Версионирование объектов

– Кто испортил документ?! – крикнул Василий.

– Сегодня должен был получить премию за продажу товара. Прихожу к фин. менеджеру, а он мне говорит: «Какая премия? Вы не выполнили план продаж». Но как так? Помню, что провел реализацию на одну сумму, а сегодня сумма уже совсем другая. Что делать? Кто виноват?

Сердитый Василий берет телефон и набирает телефон тех. поддержки, которая обслуживает программу в компании и просит помощи: «Найдите виновных, надеялся премию получить!»

Трубку поднял оператор тех. поддержки и начал успокаивать Василия: «Не волнуйтесь, сейчас все выясним».

Как же повезло Василию, что в их компании использовалось УТ 11 и был включен функционал «Версионирование объектов». Оператор тех. поддержки без особого труда узнал кто, когда и что именно изменил в документах Василия.

Виновные были найдены и Василий в итоге получил премию.

Что же это за функционал такой, который помогает «разруливать» спорные моменты связаны с тем, кто именно из пользователей неверно заполнил и провел документ, установил не ту цену, склад, клиента, организацию и т.д?

В программе «Управление торговлей 11» присутствует отличная возможность для просмотра истории изменений (редактирования) справочников и документов под названием «Версионирование объектов». Давайте же рассмотрим как она работает.

Для включения использования этого функционала перейдем на закладку программы «Администрирование» пункт «Общие настройки» и установим галочку «Версионирование объектов».

Включить версионирование объектов в 1С
(Нажмите, чтобы увеличить картинку)

Далее настроим список справочников и документов, по которым мы планируем видеть историю изменений. Нажмем на пункт «Версионируемые объекты» (находится возле галочки «Версионирование объектов»). Перед нами появится следующее окно:

История документов и справочников в 1С
(Нажмите, чтобы увеличить картинку)

В данном окне мы можем установить различные настройки версионирования объектов нашей базы. Их есть три вида:

  • Не версионировать – версии объекта не сохраняются.
  • Версионировать при записи – версии объекта сохраняются при любом изменении.
  • Версионировать при проведении – версии сохраняются только при проведении; настройка применяется только для документов, для которых разрешено проведение.
  • Виды версионирования
    (Нажмите, чтобы увеличить картинку)

    Установим для примера различные настройки для различных объектов базы: для справочника «Соглашения с клиентами» – версионировать при записи, для документа «Заказ клиента» – версионировать при проведении и т.д. Окно «Версионирование объектов» будет иметь следующий вид:

    Установить вариант версионирования
    (Нажмите, чтобы увеличить картинку)

    Для документа «Заказ клиента» установлено вид версионирования «Версионировать при проведении». Давайте перейдем в список заказов клиентов (закладка «Продажи» пункт «Заказы клиентов») и попробуем создать один документ «Заказ клиента» и перепровести его под разными пользователями.

    В окне нашего документа «Заказ клиента» на панели навигации формы нажмем на пункт «История изменений».

    История изменений объекта
    (Нажмите, чтобы увеличить картинку)

    Перед нами появится окно со списком пользователей, которые редактировали данный документ, а также дата редактирования с точностью до секунды.

    Дата последнего изменения объекта в 1с
    (Нажмите, чтобы увеличить картинку)

    Выделим все позиции и нажмем кнопку «Сравнить версии». Откроется отчет по изменениям версий объекта.

    Отчет по изменениям версий объектов
    (Нажмите, чтобы увеличить картинку)

    Здесь мы можем увидеть, что пользователь «Бахшиев» провел документ, а затем пользователь «Афанасьев» перепровел документ: изменил организацию с «Торговый дом “Комплексный”» на «ПБОЮЛ “Предприниматель”», изменил цену на товар «Телевизор “JVC”» с 20 000 на 28 000.

    Также можно просматривать информацию про отдельную версию проведенного документа. Для этого в окне заказа «История изменений» выделим необходимую версию и нажмите кнопку «Открыть версию». Здесь можно посмотреть какие реквизиты документа были установлены пользователем, табличная часть «Товары» и график оплаты.

    Информация о проведенном документе
    (Нажмите, чтобы увеличить картинку)

    Функционал УТ 11 позволяет при необходимости даже перейти на нужную (прошлую) версию объекта. То есть в нашем случае документ провел пользователь «Бахшиев», а затем документ был изменен пользователем «Афанасьев». В окне заказа «История изменений» выделим мышкой версию «Бахшиев Павел Иннокентьевич» и нажмем кнопку «Перейти на версию».

    Восстановление объекта 1с
    (Нажмите, чтобы увеличить картинку)

    В окне «История изменений» появится третья строчка с комментарием «Выполнен переход к версии №1 от 08.07.2013 15:49:42», а также сообщение об успешном восстановления объекта.

    Теперь наш «Заказ клиента» возобновлено до версии пользователя «Бахшиев» – соответственно и организация, и цена снова стали такими, какими их установил пользователь «Бахшиев».

    Как видим, функционал не сложный в использовании и очень полезный. С программой «Управление торговлей 11» Вы всегда будете в курсе кто и как именно провел документ или сохранил справочник.

    Комментарии / обсуждение (20):

    1. Dim

      Может быть кто-нибудь сталкивался. УТ 11.1.10.180, платформа 8.3.6.2152. Устанавливаю версионирование номенклатуры, а ни чего не происходит. Для всех остальных объектов появляется слева ссылка “История изменений”, а для номенклатур нет. Что я делаю не так?

    2. Надежда

      Добрый день!
      Версионирование есть и в УПП, и в Комплексной автоматизации. Столкнулась с такой ситуацией конкретно в КА: если версионирование изначально не велось, затем ставим галку “Использовать версионирование объектов”, заходим в настройку версионирования объектов. В настройке вариант версионирования для всех возможных объектов не указан – поле пусто. Мы в настройке ничего не меняем и выходим. По сути в базе мы только установили галочку “Использовать версионирование объектов”. Каково было мое удивление, когда объекты стали версионироваться, хотя в настройке ничего не указано. Подскажите, что это – особенность КА или все-таки ошибка? Версия КА 58.1, например, документ “Заказ покупателя”.

      • Надежда

        Залезла в конфигуратор. В случае включенной галки «Использовать версионирование объектов» получается вариант версионирования согласно коду:

            Если ЗначениеЗаполнено(НастройкаВерсионирования.Вариант) Тогда
                Возврат НастройкаВерсионирования.Вариант;
            Иначе
                Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Источник.Ссылка)) Тогда
                    Возврат Перечисления.ВариантыВерсионированияОбъектов.НеВерсионировать;
                Иначе
                    Возврат ?(ДокументПроводится(Источник.Метаданные().Имя),
                              Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриПроведении,
                              Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьВсегда);
                КонецЕсли;
            КонецЕсли;

        То есть получается, что отсутствие указания варианта версионирования вовсе не означает, что версионирования не будет происходить. Посмотрела в УПП – там код аналогичный. Посмотрела видео про версионирование из курса “УПП от А до Я” – к сожалению, про данную особенность не сказано ни слова.

        • Андрей Харечко

          Здравствуйте!
          Скорее всего это ошибки указанных вами конфигураций.

    3. via

      Удивительное дело! Похоже, побеждает “статья” – пересказ документации. При том, что есть статьи с оригинальными идеями. Умора!

    4. ibrogim

      Познавательная статья, спасибо! Интересно бы ещё узнать про производительность этого механизма на больших объёмах данных.

      • Игорь Сапрыгин

        Работает отлично. Только база данных разбухает значительно. Нужно осмысленно использовать механизм. Кроме того пока нет механизма очистки устаревших версий, все удаляется напрямую открытием регистра, либо внешней обработкой :)

      • aharechko

        За 2 года у наших клиентов база выросла на 20Гб (при том что при каждом обновлении версии объектов очищались) и все работает нормально.

    5. asmorodin

      Так вот что за зверь “версионирование”! Боялся даже читать это слово, не то что галочку поставить!
      iPad автору!

    6. Валентин Будкин

      Эх, если бы ещё и отчёты можно было крутить по разнице версий…

    Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Вход на сайт

    Зарегистрироваться

    Подтверждение регистрации будет отправлено на указанный e-mail.

    Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

    Восстановить доступ

    E-mail или логин

    Ссылка на создание нового пароля будет отправлена на указанный e-mail.